var express = require('express');
var router = express.Router();
const path = require('path')
// 引入lowdb
let low = require('lowdb');
// 引入同步写入适配器
let FileSync = require('lowdb/adapters/FileSync')
// 申明一个适配器并定义其名字, 即生成一个xcr.json的json文件，用来存储数据
let adapter = new FileSync(path.resolve(__dirname + '/../data/data.json'));
// 载入适配器, 即使用变量保存，方便使用
let db = low(adapter);

// 导入 shortid 包， 自动为每一条数据添加 id 
const shortid = require('shortid');

/* GET home page. */
router.get('/list', function(req, res, next) {
  const records = db.get('records').value()
  res.render('list', {records: records})
});

router.get('/list/create', function(req, res, next) {
  res.render('listCreate')
});

// 添加list 记录
router.post('/list', function(req, res, next) {
  const id = shortid.generate()
  // 向 data.json 写入数据
  // get() 先获取 records数组,再去添加数据，最后进行写入更新 data.json
  db.get('records').unshift({id: id, ...req.body}).write()
  res.render('sucess', {msg: '添加成功了~~', url: '/list'})
});

// 定义删除 方法
// 添加list 记录
router.get('/list/:id', function(req, res, next) {
  const id = req.params.id
  db.get('records').remove({id: id}).write()
  res.render('sucess', {msg: '删除成功了~~', url: '/list'})
});


module.exports = router;
